Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
SUMMARY: Infrastructure "encapsulate item::contents into a new class"
Purpose of change
encapsulation will help enormously with continuing to extend item::contents for the nested container system. it'll also restrict accessing contents directly all over the place, like it is now.
Describe the solution
creates a new class called
item_contents
that has the item contents. adds functions to interact with them. You might notice that a few functions have ret_val returns with not really much going on there, but that is because i'm going to be expanding them basically immediately after, so i saw no reason to redo the function call sites twice. i also had to remove item::emplace_back() and alter a bunch of places that should have item::put_in or something similar. additionally, i have item_contents::front() and item_contents::back() to aid further work, with intent to remove these functions.Relies on #38022 and has the commits from that pr
Testing
Compiled successfully. additional testing TBD; i altered some tests so they'll show up on travis, and i'll run the game to make sure save/load works properly.